#include <cstdlib>
#include <cstring>
#include "Compresion.h"
#include <iostream>

using namespace std;
Compresion::Compresion(int posCaracterActual) {
	posicionCaracterActual = posCaracterActual;
	this->longitud=0;
}

Compresion::~Compresion() {
	//cout << "destructor Compresion"<< endl;
}

char Compresion::getCaracter() const {
	return caracter;
}

void Compresion::setCaracter(char caracter) {
	this->caracter = caracter;
}

int Compresion::getPosicionCaracterActual() {
	return posicionCaracterActual;
}

// Esto es muy feo, hacerlo mejor
unsigned short int Compresion::getContexto() {
	unsigned short int* pContextoInt = (unsigned short int*)malloc(2);
	memcpy(pContextoInt, contexto, 2);
	unsigned short int contextoInt = *pContextoInt;
	free(pContextoInt);
	return contextoInt;
}

void Compresion::setContexto(char car1, char car2) {
	contexto[0] = car1; contexto[1] = car2;
}

void Compresion::setLongitud(int longit) {
	longitud = longit;
}

void Compresion::setPosicionCaracterActual(int pos) {
	posicionCaracterActual = pos;
}

int Compresion::getLongitud() {
	return this->longitud;
}
